package 数字字符串20250224;

/**
 * 26、删除有序数组中的重复项
 * https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/
 * @author
 * @version 1.0
 * @className DeleteSortedRepeatItem
 * @since 1.0
 */
public class DeleteSortedRepeatItem {
    public static void main(String[] args) {

        int[] a = {1,2,3,4};
        int[] b = {2,2,2,2,};
        a=b;
        for (int i :
                a) {
            System.out.println(i);
        }

    }

    /**
     * 循环该数组，添加到新数组中，维护暂存值，相同不管，不同增加，并且更新暂存值
     * 思路：将后面不重复的数字放在前面，temp维护当前值，j是正确的数组长度
     * @param nums
     * @return
     */
    public int removeDuplicates(int[] nums) {
        if(nums.length==0){
            return 0;
        }
        int[] nums2 = new int[nums.length];
        int temp=nums[0],j=0;
        for (int i=0;i< nums.length;i++){
            if(i==0){
                nums2[j++]=nums[0];
            }
            else if(temp!=nums[i]){
                temp = nums[i];
                nums2[j++]=temp;
            }
        }
        nums = nums2;
        return nums.length;
    }
}
